Preface

Preface
 
Note: Before using this document, read the general information under Notices.
Version 8.0, 2008
This edition applies to Version 8.0 of the VA Smalltalk products, and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. The term "VA Smalltalk", as used in this publication, refers to the VA Smalltalk product set.
Portions of this book describe materials developed by Object Technology International Inc. of Ottawa, Ontario, Canada. Object Technology International Inc. is a subsidiary of the IBM(R) Corporation.
If you have comments about the product or this document, address them to:
      Instantiations, Inc.
      18101 Boones Ferry Rd, Suite 200
      Portland, OR 97224
You can fax comments to (503) 684-8355 or email to
vast-support@instantiations.com.
When you send information to Instantiations, you grant Instantiations a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you.
© Copyright 2005, 2008 Instantiations, Inc. All Rights Reserved
© Copyright International Business Machines Corporation 1999, 2002. All rights reserved.
Notices
IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood, NY, USA 10594.
Instantiations may change this publication, the product described herein, or both.
Disclaimer: References to the OS/2 platform are included for historical reasons. Their inclusion does not represent Instantiation's support for VA Smalltalk on that platform
Trademarks
The following terms are trademarks of the IBM(R) Corporation in the United States, other countries, or both:
The following terms are trademarks of other companies:
Windows(R) is a trademark of Microsoft Corporation.
UNIX(R) is a registered trademark of The Open Group in the United States, other countries or both.
Other company, product and service names may be trademarks or service marks of others.
About this book
This book guides you through installing VA Smalltalk and its associated features.
This book also covers setting up a team development environment, including information on setting up and using EMSRV, the library management server.
Who this book is for
This book is written for anybody who needs to install VA Smalltalk. It is also intended for administrators, or anyone who might be maintaining the library server for a team development group.
Conventions used in this book
This book uses conventions that you might not have seen in other product manuals.
These highlighting conventions are used in the text:
VA Smalltalk uses construction from parts to develop software by assembling and connecting reusable components called parts.
Select Add Part from the Options pull-down. Type the part's class and select OK.
Do not save the image.
Refer to the VA Smalltalk User's Guide.
The status area displays Category: Data Entry.
VA Smalltalk programming objects, such as attributes, actions, events, composite parts, and script names
Connect the window's aboutToOpenWidget event to the initializeWhereClause script.
 
Tell us what you think
Please take a few moments to tell us what you think about this book. The only way for us to know if you are satisfied with our books or if we can improve their quality is through feedback from customers like you. Please, go the VA Smalltalk web page and give us your feedback.
What's New in Version 7.5
VA Smalltalk Version 7.5 includes the following changes to the installation procedure. See the readme file for additional details.
For more information on the enhancements in this release, refer to the VA Smalltalk web page.
Installing VA Smalltalk
This chapter guides you through installing VA Smalltalk on Windows, OS/2, and UNIX platforms. If you are migrating from a previous version of VA Smalltalk, please refer to the VA Smalltalk Migration Guide before starting the installation.
Installing VA Smalltalk
Overview of installation
There are two pieces to the installation of VA Smalltalk: the library manager and the client. The library manager is the repository that holds all of your Smalltalk code. The client consists of visual programming tools and communication links to the server where the library manager is installed.
To install VA Smalltalk in a team development environment, a system administrator should install the library manager on a network-attached server computer. The individual developers can then install the client code locally on their machine and connect to the library manager using EMSRV. When you install VA Smalltalk this way you will be asked during installation to specify the name of the server and the location where the library manager is installed on the server.
If you are working independently of other developers you can install both the library manager and the client code on one machine, and connect from the client to the manager using file I/O access. This is also referred to as a standalone installation.
Installing VA Smalltalk on Windows and OS/2
Before beginning the installation of VA Smalltalk, do the following:
1.
2.
When installing on a DBCS machine please remember the following:
1.
2.
3.
Installing on Windows
Installing VA Smalltalk Manager on Windows
To install VA Smalltalk Manager on Windows, run setup.exe from the CD directory, i.e.
d:\cd_m\install_w\setup.exe
where d:\ is your CD drive.
Installing VA Smalltalk Client on Windows
To install VA Smalltalk Client on Windows, run setup.exe from the CD directory, i.e.
d:\cd_c\install_w\setup.exe
where d:\ is your CD drive.
Installing on OS/2
Installing VA Smalltalk Manager on OS/2
To install VA Smalltalk Manager on OS/2, run install.cmd from the CD directory, i.e.
d:\cd_m\install_o\install.cmd
where d:\ is your CD drive.
Installing VA Smalltalk Client on OS/2
To install VA Smalltalk Client on OS/2, run install.cmd from the CD directory, i.e.
d:\cd_c\install_o\install.cmd
where d:\ is your CD drive.
Installing a team development library manager
The library manager holds your VA Smalltalk source code. You should install the library manager on a network server and connect using EMSRV for team programming.
To install the VA Smalltalk Library Manager, do the following:
1.
Note:
For late breaking information, click on the View Readme push button.
2.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise, select Decline and exit the installation program.
3.
4.
Note:
Record the path where the manager is installed. Each person installing a VA Smalltalk Client will need to know the path where the manager is installed and the IP address or alias of the server where the manager is installed. For example, if you specify f:\vast, then the manager will be named f:\vast\manager\mgr75.dat.
5.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
You must set up and start EMSRV after you install the library manager. Clients cannot connect to the library manager until EMSRV is running.
Be sure to use the following good development practices with EMSRV:
Backup the manager file regularly.
Run library statistics utilities on a regular basis to ensure the integrity of the manager file.
Protect the manager file.
Windows
To set up and start EMSRV for Windows, see the following sections:
OS/2
To set up and start EMSRV for OS/2, see the following sections:
Installing a team development client
Before installing a VA Smalltalk Client for team development, you need to know some information about where the library manager is installed. EMSRV is used to connect to the library manager which is installed on a network server for team development. The library administrator should provide the following information about the VA Smalltalk Smalltalk library manager:
The absolute path for the library manager on the server machine. The drive letter must be the drive letter on the server machine, not the mapped drive letter for the server machine.
To install a VA Smalltalk Client do the following:
1.
Note:
For late breaking information, click on the View Readme push button.
2.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise, select Decline and exit the installation program.
3.
Note:
It is possible to install the documentation independent of the client code.
4.
Click Next to continue
5.
Select EMSRV as the Library Access Method by which you will connect to the Library Manager. Select Next to continue. On the EMSRV client parameters window, do the following:
a.
b.
Specify the fully qualified path on the server where the library manager is installed.
For example, if the manager is installed on a machine named vastmgr in the directory f:\vast\manager\mgr75.dat. Even if you have vastmgr mapped as M: on your computer, you would specify f:\vast\manager\mgr75.dat as the path on the server where the library manager is installed.
Note:
If you are using a shared library that resides on a network server, this path should be provided to you by your library administrator.
c.
Select Next.
6.
Note:
OS/2 clients must be installed on a drive that is formatted HPFS.
7.
Verify the information, then select Next to finish installing the VA Smalltalk Client.
8.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
Installing standalone
Installing a VA Smalltalk standalone development environment consists of two steps. The first step is to install the VA Smalltalk Library Manager. Then you install the VA Smalltalk Client.
Installing the library manager
The library manager holds your VA Smalltalk source code. The VA Smalltalk Enterprise Library Manager should be installed before installing VA Smalltalk Client. For a standalone development environment, you install the library manager on your local machine and connect to the repository using either File I/O access or EMSRV access. You will need to use EMSRV if you want to start more than one image connected to the same repository. This section covers installing the library manager for standalone development using File I/O access.
To install the VA Smalltalk Library Manager, do the following:
1.
Note:
For late breaking information, click on the View Readme push button.
2.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise, select Decline and exit the installation program.
3.
a.
b.
Check to make certain that the destination folder is correct. If you wish to change the default, click the Browse push button and change the location by either clicking on a new folder or directly typing the directory in the entry field. Click OK.
c.
d.
Click Next to continue.
4.
5.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
Installing the client
Before installing a VA Smalltalk Client, you need to know some information about where the library manager is installed. For a standalone install, the library manager is installed on your local machine.
To install a VA Smalltalk client, do the following:
1.
Note:
For the latest information, click the View Readme button at the bottom of the Welcome window.
2.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise Decline and exit the installation.
3.
4.
Check to make certain that the destination folder is correct. If you wish to change the default, click the Browse push button and change the location by either clicking on a new folder or directly typing the directory in the entry field. Click OK.
5.
Click Next to continue.
6.
Select Standalone development using File I/O. Select Next to continue. Configure the File I/O connectivity. You will need to know where the manager is installed on your local drive. Select Next.
7.
8.
Verify the information, then select Next to finish installing VA Smalltalk.
9.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
Installing standalone
Installing a VA Smalltalk standalone development environment consists of two steps. The first step is to install the VA Smalltalk Library Manager. Then you install the VA Smalltalk Client.
Installing the library manager
The library manager holds your VA Smalltalk source code. The VA Smalltalk Enterprise Library Manager should be installed before installing VA Smalltalk Client. For a standalone development environment, you install the library manager on your local machine and connect to the repository using either File I/O access or EMSRV access. You will need to use EMSRV if you want to start more than one image connected to the same repository. This section covers installing the library manager for standalone development using File I/O access.
To install the VA Smalltalk Library Manager, do the following:
6.
Note:
For late breaking information, click on the View Readme push button.
7.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise, select Decline and exit the installation program.
8.
a.
b.
Check to make certain that the destination folder is correct. If you wish to change the default, click the Browse push button and change the location by either clicking on a new folder or directly typing the directory in the entry field. Click OK.
c.
d.
Click Next to continue.
9.
10.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
Installing the client
Before installing a VA Smalltalk Client, you need to know some information about where the library manager is installed. For a standalone install, the library manager is installed on your local machine.
To install a VA Smalltalk client, do the following:
10.
Note:
For the latest information, click the View Readme button at the bottom of the Welcome window.
11.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise Decline and exit the installation.
12.
13.
Check to make certain that the destination folder is correct. If you wish to change the default, click the Browse push button and change the location by either clicking on a new folder or directly typing the directory in the entry field. Click OK.
14.
Click Next to continue.
15.
Select Standalone development using File I/O. Select Next to continue. Configure the File I/O connectivity. You will need to know where the manager is installed on your local drive. Select Next.
16.
17.
Verify the information, then select Next to finish installing VA Smalltalk.
18.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
Starting and Stopping the Documentation Server on Windows and OS/2
To start the documentation server on Windows, do the following:
Local Documentation Server
From the Shortcuts
To start the Documentation Server from the shortcuts, select VA Smalltalk Client 7.5 and then Start the Documentation Server.
From the Command Line
You may also start the server from the command line by typing:
start <vast>\help\bin\abtdoc.exe -z.ver=7.5
where <vast> is the directory into which you installed VA Smalltalk.
By default, the server only accepts requests sent to localhost.
Shared Documentation Server
If you wish to set up the documentation server so that it may be shared by others in your network, specify the hostname of the machine on which the server is running as follows:
start <vast>\help\bin\abtdoc.exe -z.ver=7.5 -z.host=myhostname
where <vast> is the drive and directory into which you installed VA Smalltalk.
To use the shared documentation server, client web browsers must replace localhost with myhostname in the URL used to access the VA Smalltalk documentation. You only need to make this change for the initial URL. Change the following:
http://localhost:57002/abtwebx/7.5/va/vast.htm
to the following:
http://myhostname:57002/abtwebx/7.5/va/vast.htm
To start the Documentation Server automatically when the machine boots, place a command file similar to the following in the Windows startup folder:
@echo off
start <vast>\abtdoc.exe -z.ver=7.5
where <vast> is the drive and directory into which you installed VA Smalltalk.
To start the Information Center and access documentation from the shortcuts, select VA Smalltalk Client 7.5 and then Information Center.
To stop the documentation server, select Shutdown the Document Server from the Information Center main screen.
To start the documentation server on OS/2, do the following:
Local Documentation Server
From the Shortcuts
To start the Documentation Server from the shortcuts, select VA Smalltalk Client 7.5 and then Start the Documentation Server.
From the Command Line
You may also start the server from the command line by typing:
cd <vast>\help\bin
abtdoc.cmd -z.ver=7.5
where <vast> is the directory into which you installed VA Smalltalk.
By default, the server only accepts requests sent to localhost.
Shared Documentation Server
If you wish to set up the documentation server so that it may be shared by others in your network, specify the hostname of the machine on which the server is running as follows:
cd <vast>\help\bin
abtdoc.cmd -z.ver=7.5 -z.host=myhostname
where <vast> is the directory into which you installed VA Smalltalk.
To use the shared documentation server, client web browsers must replace localhost with myhostname in the URL used to access the VA Smalltalk documentation. You only need to make this change for the initial URL. Change the following:
http://localhost:57002/abtwebx/7.5/va/vast.htm
to the following:
http://myhostname:57002/abtwebx/7.5/va/vast.htm
To start the Documentation Server automatically when the machine boots, place a command file similar to the following in the OS/2 startup folder:
@echo off
<drive>
cd <vast>
abtdoc.cmd -z.ver=7.5
where <vast> is the directory into which you installed VA Smalltalk and where <drive> is the drive on which you installed VA Smalltalk.
To start the Information Center and access documentation, select the Information Center.
To stop the documentation server in, select Shutdown the Document Server from the Information Center main screen.
Uninstalling VA Smalltalk on Windows
To uninstall VA Smalltalk on Windows,
1.
From the Start Menu, select Control Panel > Add/Remove Programs. Select the VA Smalltalk product you installed, then select Remove
2.
Click Next to continue.
3.
After the uninstall program is finished, click Finish to exit the uninstall program.
4.
Uninstalling VA Smalltalk on OS/2
To uninstall VA Smalltalk on OS/2, do the following:
1.
Double-click on the Uninstall VA Smalltalk Enterprise client or manager icon in the VA Smalltalk folder.
2.
Click Next to continue.
3.
After the uninstall program is finished, click Finish to exit the uninstall program.
4.
Installing VA Smalltalk on UNIX
Before beginning the installation of VA Smalltalk on UNIX, review the following.
1.
On a UNIX platform, you must create the installation directory, e.g. /usr/local/VASmalltalk/7.5 directory before running the install.
2.
3.
4.
This section guides you through installing VA Smalltalk on UNIX.
1.
2.
o
o
o
o
3.
4.
Create the path /usr/local/VASmalltalk/7.5 if it does not already exist.
5.
Run setup.
o
From the shell command line, run xterm -sb -e ./setup&
6.
Installing the library manager
The library manager holds your VA Smalltalk source code. The VA Smalltalk Library Manager should be installed before installing VA Smalltalk Client. The Manager should be installed first, on a server accessible by those application programmers who will be using VA Smalltalk. The Manager needs to be installed just once, by a system administrator. The client should be installed by the system administrator on each workstation.
To install the VA Smalltalk Library Manager, do the following:
1.
On the Welcome window, select View Readme to view the readme file for any late-breaking information on the UNIX version of VA Smalltalk.
2.
3.
Note:
On some Unix platforms, problems have been reported on the Select Features screen. After selecting a new feature to install, sometimes the Next button is not enabled due to an error in synchronization of the features. To correct this problem, select the Back button and then on the License Agreement screen, select the Accept button. The Next button on the Select Features screen should then be enabled.
4.
5.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
The files are installed to /usr/local/VASmalltalk/7.5 directory.
The size of the library manager will grow considerably as source code accumulates during the course of a development effort. It is possible to install the library manager on a filesystem other than /opt, and to run the EMSRV daemon with the library manager on the alternate filesystem. This may be a convenient configuration for managing the growth of the library manager and for maintenance backups.
To install the library manager on an alternate filesystem you must complete a couple of steps manually. Before performing the install, create a /usr/local/VASmalltalk/7.5/manager filesystem which is mounted on a logical volume other than the volume on which /usr is mounted and define /usr/local/VASmalltalk/7.5/manager as a symbolic link to a directory on such an alternate filesystem.
Note:
The filesystem on which the library manager resides must be mounted on a local drive. The EMSRV daemon will not operate if the library manager file is on a remote NFS filesystem.
Note:
You do not need to reboot your machine after installation.
Note:
Be sure to use the following good development practices with EMSRV:
Backup the manager file regularly.
Run library statistics utilities on a regular basis to ensure the integrity of the manager file.
Protect the manager file.
If you are using EMSRV, you must set up and start EMSRV after you install the library manager.
Installing a client
Before installing a VA Smalltalk Client, you need to know some information about where the library manager is installed.
You can use EMSRV to connect to the manager. The EMSRV environment is set up during the manager install.
Note:
We have seen rare cases where the client installation program on Linux will hang and become unresponsive after only partially completing the install. We have only noticed this on machines whose hard drive is one giant partition located at /. If this happens, a safe workaround is to terminate the install program and completely delete everything in the /usr/local/VASmalltalk/7.5 directory. Then restart the install.
To install a VA Smalltalk client, do the following:
1.
On the Welcome window, select View Readme to view the readme file for any late-breaking information on the UNIX version of VA Smalltalk.
2.
Read the License Agreement. If you agree to the terms and conditions, select Accept. Otherwise, Decline and exit the installation.
3.
Note:
On some Unix platforms, problems have been reported on the Select Features screen. After selecting a new feature to install, sometimes the Next button is not enabled due to an error in synchronization of the features. To correct this problem, select the Back button and then on the License Agreement screen, select the Accept button. The Next button on the Select Features screen should then be enabled.
4.
5.
When the installation is complete, click Finish to end the install program or View Readme to view the readme file.
The files are installed to the /usr/local/VASmalltalk/7.5 directory.
Note:
You do not need to reboot your machine after installation.
Configuration and startup
Before you can start VA Smalltalk you may need to configure your installation.
VA Smalltalk Client
By default, the ServerAddress is the system's loopback address -- localhost. This will only work if you are using a client that is installed on the same computer as the manager.
If you want to change your network configuration, the Smalltalk image start-up configuration file abt.ini will need to be modified. Specifically, you will need to verify that the EmLibraryInterface parameters, ServerAddress and DefaultName match you network configuration.
The library manager administrator should provide you with these EmLibraryInterface parameters
The file abt.ini is located in the /usr/local/VASmalltalk/7.5/newimage directory.
VA Smalltalk Manager
The VA Smalltalk manager component uses a daemon to manage concurrent access to library and import files. This program is named EMSRV.
To start the EMSRV process, do the following:
You do not have to be root to run emsrv. You do, however, need to have permission to create and update files in the emsrv logging directory as well as permission to modify the mgr75.dat file itself. One approach to doing this is to explicitly specify a logging directory in which your user id is allowed to create and modify files.
Here is an example of starting emsrv such that client requests are logged in /var/emsrv-log. Also notice that we have directed stdout to /tmp/emsrv-log/emsrv.out. (Please note that /var/emsrv-log MUST exist before you start emsrv.)
/usr/local/VASmalltalk/7.5/bin/emsrv -lf/var/emsrv-log>/var/emsrv-log/emsrv.out
For more options on starting EMSRV, type emsrv -h at a command prompt.
Note:
Before you shut down your system or uninstall VA Smalltalk, you should stop the EMSRV process by issuing the command: /usr/local/VASmalltalk/7.5/bin/emadmin stop.
Starting and Stopping the Documentation Server on Unix
Running as a Local Documentation Server
To start a local documentation server on Unix, execute the following command in a directory you have write permission on:
nohup /usr/local/VASmalltalk/7.5/help/bin/abtdoc>/tmp/abtdoc.out&
The documentation server needs to write to the current directory as well as to the log file specified on the command line. If it cannot, you will see errors when the documentation server attempts to get on-line documentation pages. A documentation server running in local mode (the default) can only be accessed by browsers running on the same host using the URL:
http://localhost:57002/abtwebx/7.5/va/vast.htm
Running as a Shared Documentation Server
If you wish to make the documentation server available to users on other machines, then you will need to specify the hosting machine's hostname. Here is an example for a hosting machine whose hostname is 'talksmall':
nohup /usr/local/VASmalltalk/7.5/help/bin/abtdoc -z.host=talksmall>/tmp/abtdoc.out&
The documents on such a shared documentation server can be accessed by replacing localhost with the actual hostname of the machine running the server. To follow our example, the new URL would be:
http://talksmall:57002/abtwebx/7.5/va/vast.htm
Note:
The user id running the documentation server must have read access to /usr/local/VASmalltalk/7.5/help and the files therein. You do not need to be root to run the documentation server.
Note:
nohup (''no hangup'') is used to create a process that won't die if the original logon process terminates. See the nohup man page for additional details.
To stop the documentation server in Unix, select Shutdown the Document Server from the Information Center main screen.
VA Smalltalk developer setup
Each VA Smalltalk developer requires certain files in their own working directory. A copy of the appropriate files may be obtained by running the program /usr/local/VASmalltalk/7.5/bin/vasetup. Since a symbolic link to this program is installed in /usr/bin, users can simply run vasetup75.
When you run vasetup, VA Smalltalk copies the master abt.ini file to your working directory. If the system administrator makes any additional changes to the master abt.ini file, the copy of abt.ini that is in your working directory will not match the master abt.ini in /usr/local/VASmalltalk/7.5/newimage. If you have not made any changes to your personal copy of abt.ini, then you can just copy the new master version from /usr/local/VASmalltalk/7.5/newimage into your image directory. Otherwise you will need to manually edit your personal copy of abt.ini to pick up any important new information from the master version of abt.ini.
Settings for developer's .Xdefaults configuration file
On Unix you can customize some of the default look and feel of your VA Smalltalk development environment. This can be accomplished by placing an ENVY application defaults file into your home directory. A sample ENVY application defaults file can be found in the directory /usr/local/VASmalltalk/7.5/app-defaults. Copy this file to your home directory and then make changes to suit your tastes.
For example, changing the line:
*XmList*Background: BlanchedAlmond
to:
*XmList*Background: Sky Blue
will cause lists to have a "Sky Blue" background the next time you start a development image.
Additional kinds of customization are possible, including the cutting and pasting of the ENVY file contents into your .Xdefaults file. You should consult your X documentation for details.
Uninstalling VA Smalltalk on UNIX
Before you uninstall a previous version of VA Smalltalk on UNIX you should backup the previous version's manager and any other library files you intend to import into the Version 7.5 manager:
1.
2.
3.
Uninstalling VA Smalltalk on UNIX
You should uninstall the client first, then the manager.
Uninstalling VA Smalltalk Client
To uninstall VA Smalltalk Client on UNIX, execute the following commands:
cd /usr/local/VASmalltalk/7.5/inst
./uninst_client
Uninstalling VA Smalltalk Manager
To uninstall VA Smalltalk Manager on UNI, execute the following commands:
cd /usr/local/VASmalltalk/7.5/inst
./uninst_manager
Setting up team programming with EMSRV
The following drawing shows the client and server components that make up a VA Smalltalk Enterprise team development environment.
Example of a VA Smalltalk Enterprise team network
Connectivity is provided by a TCP/IP network.
Any computer where a shared repository will reside must be a server, which is to say it must run the repository server program (EMSRV). There may be more than one server in your environment. Each server has the following components:
VA Smalltalk Enterprise clients have the following components:
EMSRV is the program that manages concurrent access to shared repositories on the server. It uses native locking calls to manage file input/output requests against the library files on the server. The administrator must start the library server, using the emsrv command, before clients can connect to the shared library. The administrator then uses the EMADMIN utility to manage the library server.
Server Considerations in Team Development
To enable team programming with VA Smalltalk, the library server (EMSRV) must be installed on any computer where one or more shared repositories will reside. You may have one or more library servers in your team development environment. Below are some issues to consider when planning where to install shared repositories and the library server.
The EMSRV client process runs automatically on VA Smalltalk Enterprise clients.
Server capacity and availability
Run EMSRV on server-class computers. For optimal availability and performance, servers should be dedicated; that is, shared repositories should not reside on a developer's workstation.
Library size
EMSRV supports repositories of up to 16 GB. The actual size limit may be smaller depending on the capabilities of the file system or operating system where EMSRV is running. Refer to the EMSRV installation for your operating system documented in this Installation Guide for more information.
Note:
On UNIX operating systems, there are system and user configuration parameters that might limit the ultimate size of a manager library. Please contact your system administrator for details on how to get large file support.
Versions of EMSRV
VA Smalltalk Version 7.5 supports EMSRV Version 6.23 or higher. If you have a server that is running EMSRV code prior to EMSRV Version 7.0, the EMADMIN 7.0 utility will not work. For example, if your server is running EMSRV Version 6.24, you cannot use EMADMIN Version 7.0 with that server. We recommend that you upgrade to the latest versions of EMSRV and EMADMIN.
Changes in EMSRV 7.1
EMSRV 7.1 includes fixes to known defects, along with several enhancements.
Removed -n option to disable tracking of statistics. Statistics are now always tracked.
Removed -w option to track locks. Locks are now always tracked.
Removed -rd option on PC platforms to disable authentication. Authentication is disabled by default.
Changed -v option on UNIX platforms to -rn for consistency with PC platforms.
Changed -r option on UNIX platforms to -rp for consistency with PC platforms.
Added -a option on PC platforms to change the timeout for killing connections that are inactive with a lock.
Removed -lp option on UNIX platforms to set timeout for killing connections that are inactive with a lock.
For UNIX platforms, removed all code associated with device numbers including -xd option. EMSRV will now check the filesystem type and reject any path residing on a filesystem of type nfs for AIX, HP-UX, and Solaris; or type 0x6969 (NFS_SUPER_MAGIC) for Linux.
Changes in EMSRV 7.1a
The changes from EMSRV 7.1 and EMADMIN 7.0 are as follows:
o
o
o
o
o
o
o
WARNING: Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to suspected operating system bugs that may result in repository corruptions. Install and run EMSRV on a machine with a single processor or start EMSRV with the -mp option to bypass this check.
The check for SMP hardware can be bypassed by starting EMSRV with the -mp command line option. By doing this, you will be running EMSRV on an unsupported platform and must assume full responsibility if code repositories become corrupted. When starting with the -mp command line option, EMSRV will still report a warning to the console (or to the Application Log if EMSRV is running as a service):
WARNING: Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to suspected operating system bugs that may result in repository corruptions. You have chosen to start EMSRV with the -mp option to bypass a check that normally restricts EMSRV from running on multiprocessor hardware. This may cause repositories to become corrupted.
Threads and performance
EMSRV for Windows NT/2000 and NetWare use one thread per client connection. This means that EMSRV readily scales to support more connections on these platforms. EMSRV automatically spawns threads to handle client connections.
EMSRV for OS/2 or UNIX only use one process per client connection. This means that EMSRV performance degrades slightly as the number of connections increases.
TCP/IP connections
EMSRV uses TCP/IP for its client/server network connections. The default limit for client connections to a server is 512. The default limit for client connections can be changed by using the -M command line option when starting EMSRV. Theoretically, the number is bounded primarily by memory, but testing has shown that some TCP/IP stacks will run out of stream sockets before this limit of memory is reached. Typically, this number is greater than one hundred but it varies with each stack.
The default port number for the EMSRV server and client connections is 4800. This can be changed by using a command line parameter when starting EMSRV, when running EMADMIN, and when connecting from the development client to EMSRV.
Server files
The team development server requires the following files:
The server repositories must reside on the same computer as EMSRV. EMSRV does not support accessing a library on a remote file system.
Installation
EMSRV code is installed when you install the VA Smalltalk Enterprise manager library or client. For information about starting EMSRV, see the appropriate section for your operating system:
File access rights
All files created by the library server are owned by the EMSRV user. The library server has the file access rights of the EMSRV user. To ensure the integrity of shared repositories, you may wish to restrict rights for library files to the EMSRV user.
Planning for library growth
In the team development environment it is quite common for the shared library to grow very large, over several hundred megabytes. You should ensure that the library is stored on a computer that can handle this type of load.
Password validation
Note:
Although VA Smalltalk supports password checking through EMSRV, it should not be considered a highly secure system. The password checking is provided mainly as a convenience to maintain an audit trail of changes to library content.
VA Smalltalk supports three levels of client validation. These levels consist of the following:
Using a passwd.dat file
If you intend to maintain VA Smalltalk user IDs on your site, you must create and maintain a passwd.dat file in the working directory.
This file contains the logon user IDs of all users and their respective passwords for VA Smalltalk. The VA Smalltalk passwords should not be the users' actual logon passwords. The format of the file is one user ID and password per line, with the user ID first, followed by a single space and the password.
Note:
The passwd.dat file should have its access rights restricted so it cannot be read or written by regular VA Smalltalk users.
The following shows an example of a passwd.dat file:
fred mypassword
barney secret
wilma hello
betty ZXF6
Connecting client to server when EMSRV uses native passwords
When setting up a repository, you will be prompted for a supervisor password. As the system is installed off the CD, there is a single user defined, the Library Supervisor. You must specify the Library Supervisor's password when connecting the client to the server for the first time.
If you are using passwd.dat checking, you can look in that file to locate the Library Supervisor's password. If there is not a password specified, you may at this point add one.
If you are using network password authentication, your domain controller will need to have 'supervis' (the network name of Library Supervisor) defined as a valid user.
If you want to use native password authentication but do not want to define a network userid of 'supervis', then you should perform the following steps:
1.
2.
Start a client image. Select Tools >Users>Modify to change the Network Name of the Library Supervisor to a userid that is already defined on your network.
3.
4.
5.
Authentication on UNIX Platforms
Most native authentication services on UNIX platforms offer multiple options for configuration. The simplest form of native authentication on UNIX platforms is the local password file (usually /etc/passwd) which contains passwords encrypted with a one-way encryption function. Although the passwords cannot be decrypted, the file is readable by all users of the system and therefore susceptible to dictionary-based password cracking attempts.
The simplest alternative to the local password file is password shadowing. On systems that use NIS/yp or password shadowing, replace each encrypted password in the /etc/passwd file with a special token and store the passwords in a separate file not readable by normal system users.
Previous releases of EMSRV for UNIX platforms supported local password files and shadow passwords by using two separate EMSRV executables: emsrv and emsrv.shadow. This was necessary because each authentication system uses a different programming interface.
Recent releases of most UNIX platforms now offer a single authentication programming interface that can support both of the aforementioned authentication systems as well as many others. The most well-known of these authentication frameworks is PAM (password Authentication Modules). PAM was developed by Sun Microsystems and is now supported by and ships as part of Solaris, Linux, and HP-UX. Although there is no PAM implementation included with AIX, IBM offers a similar authenticate() function that can be used to authenticate users using local password files, shadow passwords, and DCE authentication.
A single authentication programming interface makes it possible for one EMSRV executable to use a variety of authentication systems. For this reason, there is no longer an emsrv.shadow available on some UNIX platforms. In such cases, the emsrv executable can be used to authenticate using shadow passwords and, potentially, other forms of authentication as well.
Where EMSRV uses an authentication framework such as PAM, the authentication system used by EMSRV and its exact configuration, are determined by the environment. For example, EMSRV for Linux uses PAM and, therefore, requires the file /etc/pam.d/emsrv to be present and to specify the PAM (module) used by EMSRV.
PAM
On Linux and Solaris platforms, authentication is implemented using PAM (password Authentication Modules). Although this would theoretically allow the use of any PAM (modules) with EMSRV by changing the relevant PAM configuration file, in practice this is not possible.
EMSRV does not converse with clients in a manner that is entirely compatible with the PAM architecture, As a result, EMSRV authentication will only work where the module prompts initially for a text password (supplied initially by the client). The tested and certified authentication methods meet these requirements as will most PAM (modules). Sophisticated modules that require extended conversation or authentication data that EMSRV does not support, will not work correctly with EMSRV. Fingerprint scanners and retina scanners are such examples.
Authentication on AIX platform
EMSRV for AIX now supports authentication using the system authenticate() function. This allows one EMSRV executable to support both shadowed and non-shadowed passwords in addition to DCE authentication.
The authentication method for each user is set in the /etc/security/user file.
Authentication on HP-UX platforms
EMSRV for HP-UX continues to implement authentication using two separate EMSRV executables. Although HP-UX 11.0 supports PAM, there is a bug in the implementation that is identical to the bug in the Solaris 2.6 implementation of PAM, as described below. To date, Hewlett-Packard does not have a patch to correct this problem.
Authentication on Linux platforms
EMSRV for Linux now supports authentication using PAM. This allows both shadowed and non-shadowed passwords to be supported with one EMSRV executable.
In addition, Red Hat Linux supports MD5 passwords and EMSRV also supports these via PAM.
PAM must be correctly configured on a machine running EMSRV otherwise it will not even be possible to shutdown EMSRV using EMADMIN. The PAM configuration file must be copied to /etc/pam.d/emsrv. A sample PAM configuration file is included with this release (see /usr/local/VASmalltalk/7.0/samples/PAM).
Authentication on Solaris platforms
EMSRV for Solaris now supports authentication using PAM. This allows both shadowed and non-shadowed passwords to be supported with one EMSRV executable.
There is a bug in the Solaris 2.6 implementation of PAM that prevents EMSRV from working correctly. The patch 106257-05 must be applied when using EMSRV with Solaris 2.6. The patch is available at: http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fpatches%F106257&zone_32=PAM
The specific bug that this patch fixes is:
4092227 pam_conv appdata_ptr member is not passed thru to conv() function as documented
The patch is not required for Solaris 7.0 or later.
PAM must be correctly configured on a machine running EMSRV otherwise it will not even be possible to shutdown EMSRV using EMADMIN. The /etc/pam.conf file is included with this release (see /usr/local/VASmalltalk/7.0/samples/PAM).
Usage of Root Access for Authentication
Root access on UNIX platforms is required to authenticate users. EMSRV does NOT need to be started by the root user to accomplish this. Doing so would compromise security as EMSRV would then have complete access to all filesystems.
Instead, you should change the owner of the EMSRV executable to 'root' and set the SUID bit of the executable. This can be accomplished as follows:
chown root emsrv
chmod u+s emsrv
when EMSRV attempts to authenticate a user, it will temporarily change the authority of the running EMSRV process to be the authority of the owner of the executable. Once authentication is complete, the authority of the running EMSRV process will be changed back to that of the user that started EMSRV. This happens on a per-process (per-client) basis so while a client is being authenticated, only the process serving that client has temporary root access.
Root access for authentication is required regardless of how EMSRV actually implements authentication. Interfaces such as PAM only provide a common API to permit applications to support multiple authentication methods, configuration specific to each method of authentication must still be correct.
Authentication on Windows platforms
Account names authenticated by EMSRV for Windows NT/2000 can come from two sources -- the name of the EMSRV user and the network names for users managed in a repository. As of this release, an account name may be in one of three formats:
Simple name
adrian
Windows NT 4.0 SAM-compatible name
engineering\adrian
user principal name
adrian@ral.ibm.com
Windows NT 4.0 and Windows 2000 non-domain controllers support simple names and SAM-compatible names. Windows 2000 domain controller support all three formats. Previous releases of EMSRV for Windows NT only supported simple names. The new formats allow authentication between domains as well as in an Active Directory.
Windows NT and Windows 2000 supports installable authentication and security packages, allowing the system to be extended with new forms of authentication and security. EMSRV for Windows NT/2000 only supports the default packages supplied with Windows NT and Windows 2000-namely the MSV1_0 and Kerberos authentication packages and the NTLM (NT LAN Manager) and Kerberos security packages.
Authentication Procedure using Windows NT and Windows 2000 Non-Domain Controllers
EMSRV for Windows NT/2000 uses NTLM (NT Lan Manager) authentication on Windows NT 4.0 and Windows 2000 non-domain controllers. User records in these systems are stored in a SAM (Security Accounts Manager) database.
To authenticate a user, EMSRV must first find the name of the domain with the SAM database that contains the user to be authenticated. The term domain applies equally to non-domain controllers because every SAM database contains a built-in domain known as 'BUILTIN' as well as for non-domain controllers, a domain with the same name as the machine or for domain controllers, the controlled domain.
If a SAM-compatible name (specifying a domain) is supplied, then the domain is already known. If a simple name is provided then the following are checked to find the user:
Once the domain is known, an attempt is made to authenticate the user in that domain.
If the domain name matches the name of the SAM database on the local machine then the authentication is processed on that machine. The name of the SAM database on a Windows NT Workstation that is a member of a domain, is considered to be the name of that Windows NT machine. The name of the SAM database on a Windows NT Advanced Server is the name of the domain. If a Windows NT machine is not a member of a domain then authentication is processed locally.
If the domain specified is trusted by the domain of the machine running EMSRV, the authentication request is passed through to the trusted domain. On a Windows NT workstation, the request is always passed through to the primary domain controller of the workstation, allowing the primary domain controller to determine if the specified domain is trusted.
If the domain name specified is not trusted by the domain of the machine running EMSRV, the authentication request is processed on that machine as if the domain name specified were that domain (or computer) name. In other words, the domain name is ignored. The system does not differentiate between a nonexistent domain or an untrusted domain.
An example illustrates how cross-domain authentication can be setup:
There are two domains: KIRA and CHIEF. The domain controller for the KIRA domain is NT4PDC. The domain controller for the CHIEF domain is NT4PDC2. A trust relationship is setup so that CHIEF is a trusted domain of KIRA (and hence KIRA is a trusting domain of CHIEF). The trust relationship is one-way such that KIRA is not a trusted domain of CHIEF.
EMSRV is setup to run on KIRA\NT4PDC. Users in both domains can be authenticated. Account names may be specified using a simple name in which case EMSRV will locate the domain containing the user, or the domain may be specified using a SAM-compatible name such as CHIEF\ADRIAN.
EMSRV is setup to run on CHIEF\NT4PDC2. Only users in the CHIEF domain can be authenticated because KIRA is not a trusted domain of the CHIEF domain.
Authentication Procedure Using Windows 2000 Domain Controllers
EMSRV for Windows NT/2000 uses Kerberos authentication on Windows 2000. User records for Windows 2000 domain controllers are stored in an Active Directory instead of a SAM database. The KD (Key Distribution Center) service must be running to use Keberos authentication.
If a simple name is supplied, then the procedure for locating the user is the same as that for Windows NT 4.0 and Windows 2000 non-domain controllers. The one difference is that in addition to checking the following:
every domain in the forest for the machine running EMSRV, is also checked. This makes sense since a forest is a collection of Active Directory trees connected by two-way transitive trust relationships.
A SAM-compatible name will be authenticated with the domain that the name specifies. A User Principal Name will be authenticated with Active Directory Services.
The implementation of Kerberos authentication in Windows 2000 is already well-documented elsewhere and does not need to be repeated here. In summary:
The NTLM protocol requires that the server must contact a domain controller. When Kerberos is used, the server does not have to contact the domain controller. A client gets a ticket for a server by requesting one from a domain controller in the server account domain; the server validates the ticket without consulting any other machine.
An example illustrates how Active Directory authentication can be setup:
There are three Active Directory domains - ibm, ral.ibm, and engineering.ral.ibm. The engineering.ral.ibm domain is a child of the ral.ibm domain and the ral.ibm domain is a child of the ibm domain. Each parent-child relationship automatically creates a two-way transitive trust relationship. As a result, since ral.ibm trusts engineering.ral.ibm and ibm trusts ral.ibm, ibm trusts engineering.ral.ibm. The three domains form a tree.
In addition there is another Active Directory domain - bedrock, which forms a tree of one domain. The ibm tree and the bedrock tree together form a forest - they share a common schema, configuration, global catalog, and are linked with two-way transitive trusts at the tree roots.
Finally there is an NT 4.0 domain - KIRA. A one-way trust relationship is setup so that ibm trusts KIRA.
If EMSRV is run on the domain controller for the ibm domain, users from the following domains can be authenticated:
ibm
ral.ibm
engineering.ral.ibm
bedrock
KIRA
Simple names for users in any of those domains will cause a search to be initiated to find the domain containing the user. Alternatively, names may be specified in any one of the other two formats previously described.
Advanced User Rights Required for Authentication
A number of advanced user rights are required for authentication to work correctly. Authentication is required even if EMSRV is not started with the -rn option since EMSRV authenticates the EMSRV account when it is started and stopped.
Advanced user rights are set in the User Manager for Windows NT 4.0 and the Local Security Policy for Windows 2000 Professional. For Windows 2000 Server, it may be necessary to also set the rights in the Domain Controller Security Policy and the Domain Security Policy so that the Effective Policy Setting for each right is correct in the Local Security Policy. Windows 2000 Advanced Server does not have a Local Security Policy. Instead, the right should be set in the Domain Controller Security Policy and the Domain Security Policy as necessary.
Each of the advanced user rights required for correct EMSRV operation are detailed below
Act as part of the operating system
This right is required for authentication and must be set for the account from which EMSRV is started (if EMSRV is not started as a service) and the EMSRV account. Note that both accounts must also be part of the 'Administrators' group.
Logon as a service
This right is required if EMSRV is being started as a service and must be set for the account from which EMSRV is started (if EMSRV is not started as a service) and the EMSRV account. You must also ensure that the 'Deny logon as a service' right is not set for each of the accounts.
Logon locally
This right is required if EMSRV is being started interactively or from a batch job and must be set for the account from which EMSRV is started (if EMSRV is not started as a service) and the EMSRV account. You must also ensure that the 'Deny logon locally' right is not set for each of the accounts.
Access this computer from the network
This right is required for each account which will be used to authenticate a client. You must also ensure that the 'Deny access to this computer from the network' right is not set for each account.
Authentication on OS/2 platforms
OS/2 does not support any native authentication method. The only available authentication option is to use a passwd.dat file and the -rp commandline option when starting EMSRV.
Authentication on NetWare platforms
In previous releases of EMSRV, two versions of the EMSRV for NetWare NLM were supplied - one that used bindery authentication and one that used NDS authentication. Bindery authentication is no longer supported. This release includes one NLM that supports NetWare 4.2 and 5.1. EMSRV no longer supports versions 3.x of NetWare.
Account names authenticated by EMSRV for NetWare can come from two sources - the name of the EMSRV user and the network names for users managed in a repository. Account names can be simple or distinguished. Both forms can also be typeful or typeless. Some examples are provided below:
Simple typeless name
adrian
Simple typeful name
CN=adrian
Distinguished typeless name
adrian.engineering.ral.IBM
Distinguished typeful name
CN=adrian.OU=engineering.OU=ral.O=IBM
Names are always authenticated in the context of the NDS context that is specified when EMSRV is started (the context is appended to the account name). Absolute names (those preceded with a period) are authenticated in the [Root] context (any context specified when EMSRV was started, is ignored). For each trailing period in a name, one component of the context is removed before being appended to the name. This allows names to be resolved in containers that are higher in an NDS tree than the specified context. Some examples:
Context engineering.ral.IBM
Name adrian
Resulting name adrian.engineering.ral.IBM
Context engineering.ral.IBM
Name .admin.IBM
Resulting name .admin.IBM
Context engineering.ral.IBM
Name kathy.support.phx..
Name kathy.support.phx.IBM
By using a distinguished name, it is possible to authenticate users in different containers. The most common case for this may be if the account names for users are located in one container but the EMSRV user is located in another. For example, if Netware accounts corresponding to network names of users in a repository exist in the container 'engineering.ral.IBM' but the EMRSV user exists in the container 'IBM', the following command could be used to load EMSRV:
load emsrv -u .EMSRV.IBM -p test - W sys:emsrv -rn -SC engineering.ral.IBM
Alternatively, the following command would also accomplish the same result:
load emsrv -u EMSRV.IBM.. -p test - W sys:emsrv -rn -SC engineering.ral.IBM
Library path names
Install your VA Smalltalk Manager Library on a file systems local to the computer that is running EMSRV.
On Windows and OS/2, do not use a mapped network drive.
On UNIX, do not use a remote NFS file system.
File access rights
EMSRV has the file access rights of the EMSRV account for PC platforms or the account that starts EMSRV under UNIX. This means that the EMSRV account must have access rights to all directories and files that VA Smalltalk users require. To ensure the integrity of the library file manager.dat, the access rights for this file may be restricted to the EMSRV account.
File creation and ownership
All files created by EMSRV are owned by the EMSRV account.
The EMADMIN utility
The EMADMIN command-line utility helps you manage and communicate with a repository server (EMSRV) from any network attached workstation where emadmin.exe is installed.
The EMADMIN utility consists of the following commands:
Note:
EMSRV client/server connections on a WAN are not supported or recommended. Although some users have successfully connected over the wide-area networks, which are rated at speeds less than 10 megabits/second, such networks are not supported.
Using EMADMIN
EMADMIN uses the following syntax:
EMADMIN [command] [command modifier] [option]
 
The EMADMIN command you are issuing.
EMADMIN has one option, the port number, -P<port number>. This parameter specifies the port that EMSRV is using instead of the default. The default port number is 4800. This option is available for all EMSRV commands.
Statistics gathered by EMADMIN can either be displayed on the screen or redirected to a file.
For example, to send the list of current connections to EMSRV running on an IP address 137.65.2.11 to the screen, enter:
EMADMIN list 137.65.2.11
To send the list of current connections to EMSRV running on the local machine to the file clist.txt, enter:
EMADMIN list > clist.txt
Copying files (copy command)
The copy command allows you to copy one repository, the source, to another repository, the target. The target repository can be on the same EMSRV server as the source, or on a different EMSRV server that is on the same network.
The copy command locks the library to ensure that the library cannot be changed while it is being copied.
To use the copy command, the following conditions must exist:
To run the copy command in a batch file, the password may be specified as part of the command line. This, in conjunction with the -q (quiet) option, ensures that no prompting occurs during the batch process.
The syntax for the copy command is:
EMADMIN copy [-o] [-p<password>][-q] [-P<port number> ] <source> <dest>
 
<ip_address> is optional and specifies the host that EMSRV is running on. It can be either the file server IP host name or its Internet address. If a host name is not provided, localhost is used.
<file name> is required and is the file specification.
 
The copy command default behavior does not overwrite an existing file. Normally, you are prompted for overwrite permission. The -o option specifies that the destination file may be overwritten without prompting.
This specifies the password to use when the copy command is validating access to the source database. The password cannot contain spaces.
By default, the copy command prints the number of bytes transferred during the copy operation. The -q option indicates "quiet operation" and the transfer count is not printed. When this option is enabled, you will not be prompted about potential problems from low disk space.
For example, to copy a library file to a backup file, enter the following command:
emadmin copy -o -p secret -q 15.1.33.20:manager.dat 15.1.33.20:test.dat
This example copies (in quiet mode) manager.dat to test.dat in the working directory, overwriting test.dat if it exists and using the password "secret" to access the source library.
Listing current connections (list command)
The list command lists current connections for to a repository server. This command sends a message to the host running EMSRV and requests the list of connections. Information about connection statistics and active locks can be obtained using the list command modifiers.
Note:
To verify that all clients are disconnected, use the list operation before stopping EMSRV.
The syntax for the list command is:
EMADMIN list [command modifiers] [<host>-P[<port number>]]
The list command has the following modifiers:
For example:
emadmin list emsrv.ibm.com
Running this command produces output such as the following:
==============================================================================
EMSRV 7.0 for Windows NT/2000 Aug 1 2000 22:28:51 (EST)
Operating system: Windows NT Workstation 4.0.1381 Service Pack 4 (1 Processor -
255 MB Memory)
Code page (ANSI): 1252
Active Last
ID IP Address Locks Request Socket File
------------------------------------------------------------------------------
0 9.25.62.92 0 09:58:23 808 e:\emsrv\vast\va000816_dev.dat
1 9.25.62.110 0 17:09:52 456 e:\emsrv\vast\va000816_dev.dat
3 9.25.62.108 0 16:49:02 1668 e:\emsrv\vast\va000816_dev.dat
8 9.25.62.111 0 14:13:10 1196 e:\emsrv\vast\va000816_dev.dat
------------------------------------------------------------------------------
There are 4 active connections.
==============================================================================
Displaying EMSRV options (opts command)
The opts command enables you to display the current options for a repository server and change the logging level for the repository server.
The syntax for the opts command is:
emadmin opts <host> [-s<level>]
 
For example:
emadmin opts emsrv.ibm.com
Running this command produces output such as the following:
==============================================================================
EMSRV 7.0 for Windows NT/2000 Aug 1 2000 22:28:51 (EST)
Operating system: Windows NT Workstation 4.0.1381 Service Pack 4 (1 Processor -
255 MB Memory)
Code page (ANSI): 1252
Running as a service: Yes
Maximum number of concurrent connections: 256
Working directory: d:\bin\emsrv\data
Authentication: Disabled
Logging level: Error
Log file name: emsrv.log
Allow connection to truncate repositories: No
Track EMSRV statistics: Yes
Track process file locking statistics: No
Process activity timeout value: 360 sec
Sleep on lock value: 1000 ms
Free disk space warning threshold: 10000 KB
Restrict repositories to local filesystems: Yes
==============================================================================
Displaying current EMSRV statistics (stat command)
The stat command displays the statistics for operations completed since the repository server was started. This command also tells you what the current EMSRV working directory is.
The stat command sends a message to a host running EMSRV and requests a copy of the latest statistics. This command provides information such as numbers of file opens, closes, and writes.
The syntax for the stat command is:
EMADMIN stat [<host> ][-P<port number>]
 
For example:
EMADMIN stat emsrv.ibm.com
Running this command produces output such as the following:
==============================================================================
EMSRV 7.0 for Windows NT/2000 Aug 1 2000 22:28:51 (EST)
Operating system: Windows NT Workstation 4.0.1381 Service Pack 4 (1 Processor -
255 MB Memory)
Code page (ANSI): 1252
Total Connects: 398 Total Disconnects: 393
Total Opens: 1720 Total Closes: 1696
Active Locks 0 Unexpected Connection Closes: 20
Total Locks: 675831 Total Unlocks: 675830
Total Reads: 3436990 Total Writes: 636179
Total Reads Failed On Lock: 0 Total Locks Failed On Lock: 0
Times Lock Limit Hit: 0
Total Requests Serviced: 6009719 Requests in last interval: 0
Largest Packet Sent: 32780 Largest Packet Received: 32784
Working Directory : d:\bin\emsrv\data
Server Has Been Alive For: 17 Days 0 Hours 45 Minutes 18 Seconds
==============================================================================
Shutting down EMSRV stopping connections (stop command)
The stop command shuts down EMSRV remotely or closes a client connection to EMSRV. When you use this operation to shut down EMSRV, you are prompted for the EMSRV account password. The password characters are not displayed on the screen. EMSRV can be shut down only if you have entered the correct password. The stop command can also be used to terminate a connection that can no longer communicate with the client. Use the list command to obtain the list of connections and their respective connection numbers that can be closed.
The stop -k <connection number> command is used to close a client connection to EMSRV.
The syntax for the stop command is:
emadmin stop <server_address> [-k <connection_number> ] [ <host> ]
 
 
EMSRV for Windows NT(R) and Windows 2000
Setting up EMSRV for Windows NT/2000
If you are going to use VA Smalltalk for team development, linking several application programmers to one central code repository, the Manager Library, you will need to use EMSRV. The EMSRV code is installed when you install the Manager Library.
Warning:
Running any release of EMSRV for Windows NT/2000/XP on a machine with more than one processor may lead to code repositories becoming corrupt. EMSRV continues to support SMP hardware in all other operating system environments.
Before you start EMSRV for Windows NT/2000, perform the following steps:
1.
Verify that TCP is installed and correctly bound to a network adapter. You can verify the binding by using the ping utility to communicate with the Windows NT/2000 machine from a workstation on the LAN.
2.
Authorizing the EMSRV User on Windows
EMSRV uses an existing Windows account to provide file access restrictions. The Windows account name used by EMSRV is referred to as the EMSRV account name, and the password for that account is referred to as the EMSRV account password. Both the Windows account from which EMSRV is started (that is, if EMSRV is not started as a service) and the EMSRV account must be granted the advanced user right Act as part of the operating system and be a member of the Administrators group.
The following steps cover how to set and activate this right for Windows NT:
1.
2.
Run the User Manager utility by selecting Administrative Tools (Common) > User Manager from the Start menu.
3.
Select the EMSRV user and then select Polices > User Rights. The User Manager window opens.
4.
From the Policies menu, select User Rights. The User Rights Policy window opens.
5.
Select the check box Show Advanced User Rights.
6.
From the Right drop-down box, select Act as part of the operating system.
7.
Select the Add push button and add the EMSRV user to the list.
8.
Select OK to save your choices and close the open windows.
9.
Use the following directions to set and activate this right for Windows 2000, Windows XP, and Windows Vista:
1.
2.
3.
Select Local Security Policy > Local Policies > User Rights Assignment > Act as part of the operating system.
4.
Click on the Add push button and add the EMSRV user to the list.
5.
Click on the Add push button to add the user and save your choices.
6.
For Windows 2000 Server and Windows 2003 Server, the Local Security Policy may be overridden by the Domain Controller Security Policy or the Domain Security Policy. User rights for the domain controller and/or domain may need to be set in order for the Effective Policy Setting in the Local Security Policy to appear checked.
For Windows 2000 Advanced Server, there is no Local Security Policy. Assign the right for the Domain Controller Security Policyand Domain Security Policy as necessary.
Authentication for the EMSRV account is slightly different when authenticating clients. In each case, additional user rights ay be required for successful operation.
To start and stop EMSRV as a service, the EMSRV account must have the Log on as a service user right set and the Deny logon as a service user right NOT set.
To start and stop EMSRV interactively or from a batch file, the EMSRV account must have the Log on locally user right set and the Deny logon locally user right NOT set.
Each client authenticated by EMSRV must have the Access this computer from the network user right set for the account used by that client. For each account, you must also ensure that the Deny access to this computer from the network right is NOT set.
Starting EMSRV for Windows NT/2000 from the command line
Perform the following steps to start EMSRV for Windows NT/2000 from the command line:
1.
2.
At the command line, enter emsrv with the desired parameters (see EMSRV Startup options).
For example, at the NT/2000 command line enter:
emsrv -u EMSRVUSER -p swordfish -W d:\path
This command does the following:
Loads EMSRV with EMSRV account name EMSRVUSER and password swordfish
Sets the working directory to d:\path, The working directory is where EMSRV writes a log file.
Note:
Do not attempt to start EMSRV using a path-qualified executable name such as d:\vast\bin\emsrv since the program will not start because emsrv uses the presence of the path information to indicate that it is running as a service.
Starting EMSRV as a Windows service
The following steps cover how to install EMSRV as a Windows service. See Troubleshooting EMSRV as a Windows service for a listing of common problems and solutions when running EMSRV as a Windows service.
1.
2.
Enter emsrv -install <parameters>. The optional <parameters> are EMSRV parameters such as -u <user name>, -p <password>, and so on. (For a list of available parameters, see EMSRV Startup options.) These parameters are fixed and will be used every time EMSRV is started as a service.
Ensure that -install is the first parameter. This installs EMSRV as a service in the registry and copies the necessary DLLs to the system directory. If there is an older version of EMSRV already installed, it removes the older version and installs the new version.
3.
a.
i.
Note:
On Windows 2000, Windows XP, and Windows Vista you access the Services control panel via the Administrative Tools icon within the Control Panel.
ii.
Select the EMSRV Service in the Services control panel.
iii.
Select HW Profiles and verify that a configuration is enabled. Enable one if necessary.
iv.
Select Start and EMSRV will start as a service. (Selecting Stop will stop the service and close all connections.)
b.
i.
Enter sc start EMSRV -u <user name> -p <password> at a DOS command prompt.
ii.
To stop the service, enter sc stop EMSRV.
Note:
sc.exe is available with the Windows NT/2000 Resource Kit.
c.
i.
Go to the Services control panel.
ii.
iii.
Select Automatic for the startup type.
To remove the EMSRV Service from the registry, enter EMSRV -remove at a DOS command prompt. Alternatively, you can remove it by entering sc delete EMSRV.
The -remove option will stop the service if it is running as well as delete it from the registry.
Guidelines for running EMSRV as a Windows service
Following are some guidelines for running EMSRV as a Windows service:
The stop command will stop the service, closing all active connections without warning.
Parameters entered at the Services control panel are ignored. Enter all parameters when installing with the -install option.
Troubleshooting EMSRV as a Windows service
This section describes common problems when running EMSRV as a Windows service and their solutions.
The error message An internal Windows NT error has occurred appears at startup
Open the Services control panel. Verify that the startup parameters are entered correctly and the user name is a valid user on the server. The -u option is always needed to start the server.
The error message The specific service is disabled and cannot be started appears at startup
From the Control Panel, select Services and then the HW Profiles button. Select the Original Configuration. If its status is disabled, enable it by selecting the Enable button.
The service could already be running on the local machine. Otherwise the service could be disabled. Select EMSRV Service in the Services control panel. Select Startup to open the Service window. Select Automatic or Manual for Startup Type.
The error message The service did not start due to a logon failure appears at startup
An invalid password was entered in the Service window of the Services control panel, which you access by selecting Startup. Open the Service window and change the password or log on as the System Account.
The error message The process terminated unexpectedly appears at startup
The error message Access Denied appears when installing the service.
The user must have write access to the \Windows\system32 directory so that the message file can be copied from <varoot>\bin to the \Windows\system32 directory.
 
EMSRV for OS/2
Setting up EMSRV for OS/2
Before you start EMSRV for OS/2, perform the following steps:
1.
2.
Verify that TCP is installed and correctly bound to a network adapter. You can verify the binding by using the ping utility to communicate with the OS/2 EMSRV computer from a workstation on the LAN.
3.
Starting EMSRV for OS/2
EMSRV for OS/2 does not require a logon account to start. A password may be provided to protect against unauthorized shutdown.
Perform the following steps to start EMSRV for OS/2:
1.
2.
At the OS/2 command line, enter emsrv with the desired parameters (see EMSRV Startup options).
For example, at the OS/2 command line enter the following:
emsrv -p swordfish -W c:\manager -lc
This command starts EMSRV with the working directory c:\manager and logs messages to the console.
Note on starting EMSRV
In an OS/2 environment, if EMSRV is installed under a directory name that contains spaces (e.g. x:\VAST60 MG\bin), attempting to invoke EMSRV via an OS/2 START command may fail with a SYS1041 message. For example, when issued from the varoot\bin directory, the following command:
START EMSRV -u <userid> <password>
may get the message SYS1041: The name EMSRV is not recognized as an internal or external command, operable program or batch file. To bypass this problem, issue the command sequence without the START:
EMSRV -u <userid> <password>
EMSRV for NetWare
This section describes how to set up, start, and use EMSRV for NetWare.
EMSRV for NetWare uses one thread per client connection and therefore scales more readily to support a greater number of connections than EMSRV for OS/2 or any of the EMSRV UNIX implementations, which use one process per client connection.
Paths to libraries accessed via EMSRV for NetWare must be specified as a NetWare path, relative to the EMSRV working directory (specified at the command line) and may include a NetWare volume name such as SYS. It is not possible to access a library residing on a remote server. Each NetWare server that has volumes containing libraries to be accessed must be running a copy of EMSRV for NetWare.
When using EMSRV for Netware, long filenames may only be created and viewed on NetWare volumes to which the LONG or OS/2 namespace has been added.
It is recommended that the NetWare Minimum Patch List be applied to the server running EMSRV for NetWare. The various files may be obtained from Novell's website at:
 
http://support.novell.com/produpdate/patchlist.html
Setting up EMSRV for NetWare
Before you load the EMSRV NLM, perform the following steps:
1.
Note:
Do not load EMSRV for NetWare on servers running NetWare SMP, or the server may stop responding.
2.
Verify that the NetWare TCPIP NLM is loaded and correctly bound to a network adapter. You can verify the binding by using the ping utility to communicate with the NetWare file server from a workstation on the LAN. When EMSRV for NetWare is started, if this NLM is not loaded, it will automatically load. EMSRV for NetWare will also automatically load the NWSNUT.NLM which is required by the EMSRV for NetWare user interface.
Starting EMSRV for NetWare
The EMSRV NLM logs on to the NetWare file server using an existing NetWare account and password to provide file access restrictions. The NetWare account name used by EMSRV is referred to as the EMSRV account name, and the password for that account is referred to as the EMSRV account password.
When you load the EMSRV NLM, you must supply it with the EMSRV account name, the EMSRV account password, and a working directory. You can supply this information using command-line parameters. If you do not supply this information, the NLM prompts you as it loads.
Perform the following steps to start EMSRV NLM:
1.
2.
3.
4.
Start EMSRV. At the file server console, enter load emsrv with the desired parameters (see EMSRV Startup options).
For example, at the file server console enter:
load emsrv -u EMSRVUSER -p swordfish -W volname:\path -sc context
This command does the following:
Loads the NLM with the EMSRV account name EMSRVUSER and password swordfish.
Note:
You can add an appropriate command line to the file server autoexec.ncf file to automatically load NLM when the NetWare file server is rebooted.
Operating EMSRV for NetWare
This section describes ways to operate EMSRV for NetWare.
Console screens
EMSRV creates two console screens:
Menu Screen
Used to observe and change EMSRV settings.
Message Screen
Displays log messages according to the specified reporting level.
Context-sensitive help may be viewed at any time by pressing F1.
Menu choices
Through the Menu Screen you can perform the following operations:
Changing settings
When you select Change Settings, a form is displayed that you can view and edit. To exit the form and save the changes (which implements them), press Esc.
The following table describes each form field and lists the corresponding startup option, if one exists, and the default value.
-w (default: 512)
-s0 (logs all operations)
-s1(logs warning and error messages)
-s2 (default: logs only error messages)
-t (default: yes)
Specifies whether client password verification is disabled, whether native NetWare passwords are used, and whether the passwd.dat file is used. To change the style of password verification, press Enter to access a pop-up menu.
-rn (rejects users who do not supply a valid NetWare user name and password)
-rd (default: disables password checking for clients)
-rp (rejects users who are not in the passwd.dat file)
(default: 1000)
Viewing connections
Select View Connections to display a list of client connections. You can scroll through the list to select a specific connection. After selecting a connection:
Press Enter to display its statistics.
Press Delete to terminate the connection.
Press Esc to return to the menu.
To display EMSRV statistics, select EMSRV Statistics from the Menu Screen.
Viewing the message screen
Select View Message Screen from the Menu Screen to display the Message Screen. To return to the Menu Screen, press Esc.
Viewing EMSRV statistics
Select EMSRV Statistics from the Menu Screen to display EMSRV statistics that have been accumulated since the EMSRV NLM was started.
You typically display EMSRV statistics after displaying connection statistics using View Connection List.
To force a screen update, select EMSRV Statistics if the EMSRV statistics are currently displayed.
EMSRV for NetWare messages and reporting
To change the reporting level from the NetWare console while EMSRV is running:
1.
Select Change Settings from the Menu Screen.
2.
Select Reporting Level.
3.
Press Enter.
When debugging an EMSRV problem, it is often useful to watch the write operations to the Message Screen as they occur. To do this, switch to the Message Screen after setting the reporting level.
Shutting down EMSRV on NetWare
You cannot unload EMSRV for NetWare using the unload command at the file server console. You can unload it only from the Menu Screen or by running EMADMIN. (For information on using EMADMIN, see The EMADMIN utility.)
Do not unload EMSRV for NetWare if library transactions are in progress. If you do, the library may be left in an inconsistent state.
The following steps describe how to safely unload EMSRV:
1.
2.
If there are connections, terminate them by selecting View Connection List from the Menu Screen and pressing Esc.
3.
Unload the EMSRV NLM by using EMADMIN or the Menu Screen. From the Menu Screen, select Shutdown EMSRV to shut down and unload the EMSRV NLM. You must enter the EMSRV account password before EMSRV will unload.
Loading the NLM on NetWare 4.11 and NetWare 5.0
EMSRV no longer supports NetWare 4.11 or NetWare 5.0, but EMSRV can be run on those platforms if additional steps are taken. CLIBAUX.NLM must be loaded before the EMSRV NLM is loaded. CLIBAUX.NLM is included with Novell's NetWare 4.11/4.2 Support Pack 8a, but is also available separately from Novell in the file CLIBAUX1.EXE, which can be found at the following location:

http://support.novell.com/cgi-bin/search/download?/pub/updates/nw/nw42/clibaux1.exe
EMSRV for UNIX operating systems
Setting up EMSRV for UNIX operating systems
EMSRV is installed in the bin directory under the installation directory. The standard installation directory is /usr/local/VASmalltalk/7.5.
Before you start EMSRV for UNIX, verify that you are running one of the supported UNIX operating systems. See VA Smalltalk System Requirements for currently supported platforms.
Setting up EMSRV for AIX
On AIX, you must enable large file support for both the volume hosting a repository and the user starting the EMSRV process. When creating a filesystem, ensure that the arguments -o bf=true are used with mkfs.
To set the limits for the user starting the EMSRV process, specify the number of 512 byte blocks as arguments on the -Hf and -Sf options of the ulimit command. Use the following commands to enable repositories up to 16 GB in size:
ulimit -Hf 33554432
ulimit -Sf unlimited
EMSRV for AIX authentication is implemented using the system authenticate() function. This allows one EMSRV executable to support both shadowed and non-shadowed passwords in addition to DCE authentication. The authentication method for each user is set in the /etc/security/user file.
Setting up EMSRV for Solaris
On Solaris, filesystems automatically have large file support but limits for the user starting the EMSRV process must still be set using the ulimit command. To set the limits for the user starting the EMSRV process, specify the number of 512 byte blocks as arguments on the -Hf and -Sf options of the ulimit command. Use the following commands to enable repositories up to 16 GB in size:
ulimit -Hf 33554432
ulimit -Sf unlimited
With large file support, EMSRV for Solaris supports a maximum repository size of 16 GB on UFS volumes.
EMSRV for Solaris implements authentication using PAM. PAM must be correctly configured on a machine running EMSRV otherwise it will not even be possible to shutdown EMSRV using EMADMIN. The /etc/pam.conf file must detail the emsrv service. This release includes an example pam.conf file in /usr/local/VASmalltalk/7.0/samples/PAM.
Setting up EMSRV for HP-UX
On HP-UX, large file support needs to be enabled for both the volume hosting a repository and the user starting the EMSRV process. When creating a filesystem, ensure that the argument -o largefiles is used with newfs.
To set the limits for the user starting the EMSRV process, specify the number of 512 byte blocks as arguments on the -Hf and -Sf options of the ulimit command. Use the following commands to enable repositories up to 16 GB in size:
ulimit -Hf 33554432
ulimit -Sf unlimited
With large file support, EMSRV for HP-UX supports a maximum repository size of 16 GB on VxFS volumes.
Setting up EMRSV for Linux
EMSRV for Linux supports a maximum repository size of 2 GB on EXT2FS volumes.
EMSRV for Linux implements authentication using PAM. This allows both shadowed and non-shadowed passwords to be supported with one EMSRV executable. In addition, Red Hat Linux supports MD5 passwords and EMSRV also supports these via PAM.
PAM must be correctly configured on a machine running EMSRV otherwise it will not even be possible to shutdown EMSRV using EMADMIN. The PAM configuration file must be copied to /etc/pam.d/emsrv. A sample PAM configuration file is included in /usr/local/VASmalltalk/7.0/samples/PAM.
Starting EMSRV for UNIX operating systems
On UNIX platforms, the EMSRV process will have the file access permissions of the UNIX 4account that starts EMSRV. The UNIX account name that is used to start EMSRV is referred to as the EMSRV account name, and the password for that account is referred to as the EMSRV account password.
Perform the following steps to start EMSRV for UNIX:
1.
2.
o
o
3.
For example, at a command line, enter either: emsrv.shadow -lc -lflogfile or emsrv -lc -lflogfile.
The command logs messages to the system console and the log file specified in the command line.
Note:
The UNIX account password is needed when shutting down EMSRV remotely using EMADMIN.
EMSRV Startup options
 
The following table lists and describes EMSRV startup parameters.
The file system requires read locks. The default setting is 0, which indicates the file system does not need read locks.
Ignores signals. <q> = ignore SIGQUIT; <t> = ignore SIGTERM. By default, either of these signals cause EMSRV to terminate.
Writes the log to file <name>. By default, the log is written to emsrv.log. The file <name> must specify a valid path for which the EMSRV account has sufficient access rights.
Logs messages to stdout instead of a log file. EMSRV must be run in the foreground using the -f option if -ls is used.
For NetWare, you must specify -p without the password parameter if the EMSRV account has no password.
The file system releases locks on file close. The default setting is 1, which indicates the file system releases locks when files close.
Rejects users who are not in the passwd.dat file. The default grants access to users who are not in the password file.
Specifies the EMSRV working directory. The directory <path> must be a valid path for which the EMSRV account has sufficient access rights to read, write, or both.
 
EMSRV messages and reporting
EMSRV contains comprehensive diagnostics. Based on the specified reporting severity level and whether file logging is enabled, statistics and diagnostic information are logged to the emsrv.log file and displayed on the console (or on the EMSRV for NetWare Message Screen). All messages with a severity level lower than the current level are suppressed. You can set the level when you start EMSRV, and you can change it dynamically, using the EMADMIN utility. The reporting levels are as follows:
Reporting level
Description
0
Logs all operations
1
Logs warning and error messages
2
Logs only error messages (default)
Note:
When debugging an EMSRV problem, it is often useful to watch the write operations to the console or Message Screen (on NetWare) as they occur. To do this, choose the EMSRV startup options to log to the console and set the appropriate reporting level.
There are three categories of EMSRV messages:
During normal operation, you should set the reporting level to "Errors" (reporting-level 2), because performance is affected when large amounts of information are written to the screen or log file. Set the reporting level to "Information" only when you are trying to diagnose a problem.
Index
C D E I L M N O R S U W
---
C
o
o
D
E
o
o
o
o
o
I
o
o
o
o
o
o
o
o
o
o
o
o
o
o
L
o
o
M
o
N
o
o
O
o
o
o
o
o
R
S
o
U
o
o
o
o
o
o
o
o
o
o
o
W
o
o
o
o
o
o
o
 

vast-support@instantiations.com